package cn.tedu.oa.sys.dao;

import cn.tedu.oa.common.dao.BaseDao;
import cn.tedu.oa.sys.entity.Department;
import cn.tedu.oa.sys.entity.User;

import java.util.Date;
import java.util.List;

import org.apache.ibatis.annotations.Param;

public interface UserDao extends BaseDao<User> {
	//通过用户名查询用户
    User getUserByUsername(@Param("username") String username);
    
    //用户禁用、启用(通过id查询该用户)
    int validById(@Param("id") Integer id,
    			  @Param("valid") Integer valid,
    			  @Param("updateUser") String updateUser,
    			  @Param("updateTime") Date updateTime);

    /**
     * 分页查询用户信息
     * @param criteria 查询条件
     * @param startIndex 起始值
     * @param endIndex 结束值
     * @return 结果集合
     */
    List<User> getUserPagerList(@Param("criteria") Object criteria,
                                @Param("startIndex") Integer startIndex,
                                @Param("endIndex") Integer endIndex);

    /**
     * 获取所有部门的id和名称
     * @return 部门集合
     */
    List<Department> getDeptIdAndName();



    //通过id修改该用户密码
    int updatePasswordById(@Param("id") Integer id,@Param("confirmPassword") String confirmPassword);
}
